package com.stylefeng.guns.modular.system.model;

import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author stylefeng
 * @since 2019-06-21
 */
@TableName("leave_apply")
public class LeaveApply extends Model<LeaveApply> {

    private static final long serialVersionUID = 1L;

    /**
     * 编号
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 请假人ID
     */
    private Integer userId;
    /**
     * 请假类型id
     */
    @TableField("leave_type_id")
    private Integer leaveTypeId;
    /**
     * 请假开始时间
     */
    @TableField("start_date")
    private Date startDate;
    /**
     * 请假天数
     */
    private Integer days;
    /**
     * 请假结束时间
     */
    @TableField("end_date")
    private Date endDate;
    /**
     * 备注
     */
    private String remarks;
    /**
     * 是否通过（1）不通过（2）通过
     */
    private Integer approveStatus;


    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public Integer getLeaveTypeId() {
        return leaveTypeId;
    }

    public void setLeaveTypeId(Integer leaveTypeId) {
        this.leaveTypeId = leaveTypeId;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Integer getDays() {
        return days;
    }

    public void setDays(Integer days) {
        this.days = days;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public Integer getApproveStatus() {
        return approveStatus;
    }

    public void setApproveStatus(Integer approveStatus) {
        this.approveStatus = approveStatus;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "LeaveApply{" +
        "id=" + id +
        ", userId=" + userId +
        ", leaveTypeId=" + leaveTypeId +
        ", startDate=" + startDate +
        ", days=" + days +
        ", endDate=" + endDate +
        ", remarks=" + remarks +
        ", approveStatus=" + approveStatus +
        "}";
    }
}
